﻿using System;
using System.Collections.Generic;

namespace TeacherLeftHand.Model
{
    public class Activity
    {

        #region Const
        public const string Individual = "Cá nhân";
        public const string Teamwork = "Nhóm";
        public const string All = "Cả lớp";
        #endregion

        #region Properties

        private string _name;
        private string _purpose;
        private string _form;
        private List<object> _content;

        /// <summary>
        /// Get or set Activity Name
        /// </summary>
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        /// <summary>
        /// Get or set Activity Purpose
        /// </summary>
        public string Purpose
        {
            get { return _purpose; }
            set { _purpose = value; }
        }

        /// <summary>
        /// Get or set Activity TeamSize
        /// </summary>
        public string Form
        {
            get { return _form; }
            set { _form = value; }
        }

        /// <summary>
        /// Get or set Activity Content
        /// </summary>
        public List<object> Content
        {
            get { return _content; }
            set { _content = value; }
        }

        #endregion 

        #region Constructor
        /// <summary>
        /// Activity's Constructor 
        /// </summary>
        /// <param name="name">Name of the Activity</param>
        /// <param name="purpose">Purpose of the Activity</param>
        /// <param name="form">TeamSize of the Activity</param>
        /// <param name="content">Content of the Activity</param>
        public Activity(string name = null, string purpose = null,string form = Individual, List<object> content = null)
        {
            Name = name;
            Purpose = purpose;
            Form = form;
            Content = content;
        }

        #endregion

        //#region Methods
        //public override string ToString()
        //{
        //    return Content;
        //}

        //#endregion

        #region Implementation of IDataErrorInfo

        /// <summary>
        /// Gets the error message for the property with the given name.
        /// </summary>
        /// <returns>
        /// The error message for the property. The default is an empty string ("").
        /// </returns>
        /// <param name="columnName">The name of the property whose error message to get. </param>
        public string this[string columnName]
        {
            get { throw new NotImplementedException(); }
        }

        /// <summary>
        /// Gets an error message indicating what is wrong with this object.
        /// </summary>
        /// <returns>
        /// An error message indicating what is wrong with this object. The default is an empty string ("").
        /// </returns>
        public string Error
        {
            get { throw new NotImplementedException(); }
        }

        #endregion
    }
}
